import 'dart:convert';

import 'package:dio/dio.dart';
import 'package:fish_redux/fish_redux.dart';
import 'package:flutter/material.dart' hide Action;
import 'action.dart';
import 'state.dart';
///
/// 网络请求都在这里.
/// 或者是只要能通过某种方式改变 view 的数据,操作也都放在这里,不过这里只改变数据但是不涉及到页面刷新
/// fishredux 没有 setState 方法,数据改变在 reducer中.那里改变就能影响全局.
///
Effect<LoginState> buildEffect() {
  return combineEffects(<Object, Effect<LoginState>>{
    LoginAction.login: _onLogin,
  });
}

void _onLogin(Action action, Context<LoginState> ctx) async {

//  Map<String, dynamic> params = {
//    'name': ctx.state.usernameController.text,
//    'passwd': ctx.state.passwordController.text,
//  };
//  Response response = await Dio().post(
//    "https://api.apiopen.top/loginUser",
//    queryParameters: params,
//  );
//  int code = response.data['code'];
//  String msg = response.data['message'];
//  if (code == 200) {
//    Fluttertoast.showToast(msg: '登录成功，跳转HomePage');
//    Navigator.of(ctx.context).pushNamed('home', arguments: null);
//  } else {
//    Fluttertoast.showToast(msg: "登录失败:$msg");
//  }
}
